package com.probox.common.entity.domain.order;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.probox.common.core.annotation.Excel;

/**
 * 付款流水对象 order_pay_info
 *
 * @author hds
 * @date 2021-06-07
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("order_pay_info")
public class OrderPayInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 付款流水ID
     */
    //默认主键自增
    @TableId(value = "PAY_UID", type = IdType.AUTO)
    private Long payUid;
    /**
     * 客户UID
     */
    private Long customerUid;
    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;
    /**
     * 支付状态
     */
    @Excel(name = "支付状态")
    private String payStatus;
    /**
     * 支付开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;
    /**
     * 支付结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 支付方式
     */
    @Excel(name = "支付方式")
    private String payMethod;
    /**
     * 付款业务编号
     */
    @Excel(name = "付款业务编号")
    private String orderNo;
    /**
     * 订单类型
     */
    @Excel(name = "订单类型")
    private String orderType;
    /**
     * 总支付金额
     */
    @Excel(name = "总支付金额")
    private Long payAmount;
    /**
     * 实付金额
     */
    @Excel(name = "实付金额")
    private Long realAmount;
    /**
     * 货币单位
     */
    @Excel(name = "货币单位")
    private String currencyUnit;
    /**
     * 支付账户
     */
    @Excel(name = "支付账户")
    private String payAccount;
    /**
     * 第三方支付流水号
     */
    @Excel(name = "第三方支付流水号")
    private String payRefSn;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * IP地址
     */
    @Excel(name = "IP地址")
    private String ip;
    /**
     * openid
     */
    @Excel(name = "openid")
    private String openid;
    /**
     * 提交来源
     */
    @Excel(name = "提交来源")
    private String platSource;
    /**
     *第三方交易ID（微信支付订单号/支付宝支付单号）
     */
    @Excel(name = "第三方交易ID（微信支付订单号/支付宝支付单号）")
    private String transactionId;

    /**
     * 店铺或平台ID
     */
    private Long platformId;

    /**
     *服务商appId
     */
    private String spAppid;
    /**
     * 服务商商户ID
     */
    private String spMchid;
    /**
     * 子商户APPID
     */
    private String subAppid;
    /**
     * 子商户ID
     */
    private String subMchid;

    /**
     *支付结果详情
     */
    private String payResult;
}
